package com.qf.consumer;

import com.qf.dao.ProductDao;
import com.qf.dao.impl.ProductDaoImpl;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class Demo {
    public static void main(String[] args) {
        ProductDao productDao=new ProductDaoImpl();
        productDao.buyProduct("厂家");
        productDao.sh("厂家");
        ProductDao o=(ProductDao) Proxy.newProxyInstance(productDao.getClass().getClassLoader(), productDao.getClass().getInterfaces(), new InvocationHandler() {
            @Override
            public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                if("buyProduct".equals(method.getName())){
                    System.out.println("yewuzengqiang");
                    method.invoke(productDao,args);
                }
                if ("sh".equals(method.getName())){
                    System.out.println("代理帮忙处理售后");
                    method.invoke(productDao,args);
                }
                return null;
            }
        });
//o.buyProduct("daili");
        o.sh("代理");
    }

}
